Termination w.r.t. Q of the following Term Rewriting System could be proven:
Q restricted rewrite system:
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
Q is empty.
↳ QTRS
↳ Overlay + Local Confluence
Q restricted rewrite system:
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
Q is empty.
The TRS is overlay and locally confluent. By [19] we can switch to innermost.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
Q restricted rewrite system:
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
DEL(.(x, .(y, z))) → =1(x, y)
F(true, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(y, v)
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
DEL(.(x, .(y, z))) → =1(x, y)
F(true, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(y, v)
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 3 less nodes.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The TRS R consists of the following rules:
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The TRS R consists of the following rules:
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
The TRS R consists of the following rules:
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
The set Q consists of the following terms:
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.
No dependency pairs are removed.
The following rules are removed from R:
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
Used ordering: POLO with Polynomial interpretation [25]:
POL(.(x1, x2)) = 2·x1 + 2·x2
POL(=(x1, x2)) = x1 + x2
POL(DEL(x1)) = x1
POL(F(x1, x2, x3, x4)) = x1 + x2 + 2·x3 + 2·x4
POL(and(x1, x2)) = 1 + x1 + x2
POL(false) = 0
POL(nil) = 0
POL(true) = 0
POL(u) = 2
POL(v) = 0
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
R is empty.
The set Q consists of the following terms:
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 0 SCCs with 3 less nodes.